.TH "BITTORRENT-DOWNLOADER" 1 "Sep 24 2003"
.SH NAME
bittorrent-downloader \- download files using a scatter-gather network
.SH SYNOPSIS
.nf
.B btdownloadheadless [ option ... ] \fIURL\fB
.B btdownloadheadless [ option ... ] \fIfilename\fB
.B btdownloadcurses   [ option ... ] \fIURL\fB
.B btdownloadcurses   [ option ... ] \fIfilename\fB
.B btdownloadgui      [ option ... ] \fIURL\fB
.B btdownloadgui      [ option ... ] \fIfilename\fB
.fi
.br
.B 
.SH DESCRIPTION
This manual page documents briefly the \fBbtdownloadheadless\fP,
\fBbtdownloadcurses\fP, and \fBbtdownloadgui\fP commands.
This manual page was written for the Debian distribution
because the original program does not have a manual page.
.PP
These are all programs that allow a user to download files using
bittorrent, a peer to peer, scatter-gather network protocol.
They all have the same options.
.SH OPTIONS
These programs follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
.TP
.B \-\-responsefile \fIfilename\fP
treat \fIfilename\fP as a file which the server reponse was stored in. If this
option is used, no filename or URL should be present on the command line.
.TP
.B \-\-url \fIurl\fP
retrieve the torrent info file from \fIurl\fP.  If this option is used, no
filename or URL should be present on the command line.
.TP
.B \-i \fIip\fP | \-\-ip \fIip\fP
report \fIip\fP as your IP to the tracker
.TP
.B \-\-bind \fIip\fP
bind to \fIip\fP instead of the default
.TP
.B \-\-minport \fIportnum\fP
set \fIportnum\fP as the minimum port to listen on, counts up if unavailable (default 10000)
.TP
.B \-\-maxport \fIportnum\fP
set \fIportnum\fP as the maximum port to listen on (default 60000)
.TP
.B \-\-saveas \fIfilename\fP
store the downloaded file to \fIfilename\fP, instead of querying user (gui) or 
using the filename stored in the torrent info file
.TP
.B \-\-max_uploads \fInum\fP
Only allow \fInum\fP uploads at once (default 4)
.TP 
.B \-\-max_upload_rate \fIkbytes\fP
maximum rate to upload at in kilobytes, 0 means no limit (default 0)
.TP
.B \-\-keepalive_interval \fIsecs\fP
pause \fIsecs\fP seconds between sending keepalives (default 120.0)
.TP
.B \-\-download_slice_size \fIbytes\fP
query for \fIbytes\fP bytes per request (default 32768)
.TP
.B \-\-request_backlog \fInum\fP
keep \fInum\fP requests in a single pipe at once (default 5)
.TP
.B \-\-max_message_length \fIbytes\fP
set \fIbytes\fP to the maximum length prefix encoding you'll accept over the wire - larger values get the connection dropped (default 8388608)
.TP
.B \-\-timeout \fIsecs\fP
wait \fIsecs\fP before closing sockets which nothing has been recieved on (default 300.0)
.TP
.B \-\-timeout_check_interval \fIsecs\fP
check whether connections have timed out every \fIsecs\fP seconds (default 60.0)
.TP
.B \-\-max_slice_length \fIbytes\fP
requests from peers larger than \fIbytes\fP bytes are ignored (default 131072)
.TP
.B \-\-max_rate_recalculate_interval \fIsecs\fP
connections that pause longer than \fIsecs\fP seconds are given reduced rate (default 15.0)
.TP
.B \-\-max_rate_period \fIsecs\fP
set \fIsecs\fP to the maximum amount of time to guess the current rate estimate represents (default 20.0)
.TP
.B \-\-upload_rate_fudge \fIsecs\fP
set the time equivalent of writing to kernel-level TCP buffer to \fIsecs\fP (default 5.0)
.TP
.B \-\-display_interval \fIsecs\fP
update displayed information every \fIsecs\fP seconds (default 0.1)
.TP
.B \-\-rerequest_interval \fIsecs\fP
request more peers every \fIsecs\fP seconds (default 300)
.TP
.B \-\-min_peers \fInum\fP
do not rerequest if we have \fInum\fP peers already (default 20)
.TP
.B \-\-http_timeout \fIsecs\fP
wait \fIsecs\fP seconds before assuming a http connection has timed out (default 60)
.TP
.B \-\-snub_time \fIsecs\fP
wait \fIsecs\fP seconds for data to come in over a connection before assuming it's semi-permanently choked (default 30.0)
.TP
.B \-\-spew \fI 1 | 0 \fP
whether to display diagnostic info to stdout.  This option is not useful when
using btdownloadcurses or btdownloadgui. (default 0)
.B \-\-max_initiate \fInum\fP
stop initiating new connections when we have \fInum\fP peers (default 40)
.TP
.B \-\-check_hashes \fI 1 | 0 \fP
whether to check hashes on disk (defaults to 1)
.TP
.B \-\-report_hash_failures \fI 1 | 0 \fP
whether to report to the user that hash failuers occur (non-fatal, common error) (default 0)
.TP 
.B \-\-rarest_first_priority_cutoff \fInum\fP
the number of peers which need to have a piece before other partials take
priority over rarest first (default 3)

.SH SEE ALSO
.BR bttrack (1),
.BR btmakemetafile (1),
.BR btlaunchmany (1).
.br
.SH AUTHOR
This manual page was written by Michael Janssen <jamuraa@debian.org>, and modified by Micah Anderson <micah@debian.org>
for the Debian GNU/Linux system (but may be used by others).
